package LinkList;

/**
 * @author yyq
 * @create 2021-09-19 19:37
 * 循环单链表
 */
public class Linklist {
    public static void main(String[] args) {
        Node init = init(10);
        game(init,10,1);
    }
  static    void   List(Node fir,int k){
        Node temp=fir;
      for (int i = 0; i < k; i++) {
          System.out.println(temp.data);
          temp=temp.next;
      }
    }
   static Node init(int k){
        Node fir=new Node(1);
        if(k==1){
            fir.next=fir;
            return fir;
        }
        Node temp=fir;
        for (int i = 2; i <=k; i++) {
            Node node=new Node(i);
            temp.next=node;
            node.next=fir;
            temp=node;
        }
        return fir;
    }


    static void game(Node fir,int k,int m){
        Node temp=fir;
        if(m==1){
            while (true){
                if(temp.data== temp.next.data){
                    System.out.println(temp.data);
                    return;
                }
                System.out.println(temp.next.data);
                temp.next=temp.next.next;


            }
        }
        for (int i = 0; i < k; i++) {
            for (int j = 0; j < m; j++) {
                if (j==m-2){
                    System.out.println(temp.next.data);
                    temp.next=temp.next.next;
                    temp=temp.next;
                    break;
                }
                temp=temp.next;
            }
        }
    }



}

class Node{
    int data;
    Node next;

    public Node(int data) {
        this.data = data;
    }

    @Override
    public String toString() {
        return "Node{" +
                "data=" + data +
                '}';
    }
}
